package com.lancoo.cvas.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Accessors(chain = true)
@TableName("parameter_setting")
@ApiModel(value = "ParameterSetting对象", description = "设置课程环节参数")
public class ParameterSetting implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("任务id")
    private Integer taskId;

    @ApiModelProperty("对应教学班id")
    private Long teachingClassId;

    @ApiModelProperty("对应教学班讲授方式id")
    private Long teachingClassWeekId;

    @ApiModelProperty("年级id")
    private String gradeId;

    @ApiModelProperty("年级名称")
    private String gradeName;

    @ApiModelProperty("专业id")
    private Long majorId;

    @ApiModelProperty("专业名称")
    private String majorName;

    @ApiModelProperty("1 课程 2 环节")
    private Integer flag;


    @ApiModelProperty("课程id")
    private Long courseId;


    @ApiModelProperty("课程名称")
    private String courseName;


    @ApiModelProperty("0 无需选课 1 在线选课")
    private Integer teachingClassType;

    @ApiModelProperty("行政班id,使用, 隔开")
    private String classIdList;

    @ApiModelProperty("教学班id,使用, 隔开")
    private String teachingClassIdList;

    @ApiModelProperty("学分")
    private Double credit;


    @ApiModelProperty("考核方式id")
    private Long assessmentMethodId;


    @ApiModelProperty("考核方式")
    private String assessmentMethod;

    @ApiModelProperty("1 讲授 2 实验 3 上机 4 其他")
    private Integer hourType;

    @ApiModelProperty("教师id 使用,隔开")
    private String teacherId;

    @ApiModelProperty("教师名称 使用,隔开")
    private String teacherName;

    @ApiModelProperty("教室id")
    private Long roomId;


    @ApiModelProperty("教室类型")
    private Integer roomType;

    @ApiModelProperty("周次")
    private String week;

    @ApiModelProperty("周学时")
    private Integer weekNum;

    @ApiModelProperty("连上节次")
    private Integer connectSection;

    @ApiModelProperty("连上次数")
    private Integer connectNumber;

    @ApiModelProperty("0 未设置 1 已设置")
    private Integer state;

    @ApiModelProperty("0 未设置单双班 1 设置单班 2 设置双班")
    private Integer sign;


    @ApiModelProperty("开始周次")
    private Integer startWeek;


    @ApiModelProperty("结束周次")
    private Integer endWeek;

    @ApiModelProperty("0 已启用 1 未启用")
    private Integer isEnable;

    @ApiModelProperty("0 未删除 1 已删除")
    private Integer deleted;

    @ApiModelProperty("新增字段")
    private String reserve;


}
